package com.sikaryofficial.workbench.domain.dto.resp.order;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author : wuweihong
 * @desc : 购物车中的商品实体
 * @date : 2024-09-28
 */
@Getter
@Setter
@ToString
@ApiModel(value = "购物车商品DTO出参对象", description = "购物车商品DTO出参对象")
public class GoodsOrderDTO {

	/**
	 * 商品id
	 */
    @ApiModelProperty(value = "商品id")
	private Long goodsId;
	/**
	 * 商品名称
	 */
    @ApiModelProperty(value = "商品名称")
	private String  goodsName;
	/**
	 * 品牌名称
	 */
    @ApiModelProperty(value = "品牌名称")
	private String brandNo;
	/**
	 * 商品封面
	 */
    @ApiModelProperty(value = "封面图url")
	private String coverUrl;
	/**
	 * 单价(批发价）
	 */
    @ApiModelProperty(value = "单价(批发价,有现价取现价，无现价则取原价)")
	private BigDecimal wholesaleUnitPrice;
	/**
	 * 商品的总价(无折扣)
	 */
    @ApiModelProperty(value = "无折扣总金额")
    private BigDecimal amount;
	/**
	 * 币种
	 */
    @ApiModelProperty(value = "总金额")
	private String currency;
	/**
	 * 商品的总价(折扣后的金额)
	 */
    @ApiModelProperty(value = "打折后的总金额,不含会员折扣")
	private BigDecimal discountAmount;
	/**
	 * 商品的折扣金额
	 */
    @ApiModelProperty(value = "折扣的金额，不含会员激励折扣")
	private BigDecimal discount;
	/**
	 * 商品总数量
	 */
    @ApiModelProperty(value = "商品总数")
	private Long quantity;

	/**
	 * 上下架状态：0-未上架 1-已上架
	 * @see com.sikaryofficial.workbench.constant.GoodsListingStatusEnum
	 */
	@ApiModelProperty(value = "上下架状态：0-未上架 1-已上架")
	private Integer listingStatus;

	/**
	 * 商品口味子订单
	 */
	private List<OrderItemDTO> orderItems;

}
